Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Jerarquía de memoria: cache, reducción de fallos, ocultación de latencia, memoria principal (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

54
Reducir el tiempo de acceso
Caches virtualmente accedidas físicamente marcadas
(evita espera TLB )
(Gp:) Numero de pagina
Etiqueta
(Gp:) Desplazamiento
Marco de bloque Palabra

Se solapa la traducción del numero de pagina con el acceso a los tag del marco de bloque
Limita el tamaño de la cache al tamaño de pagina
Un modo de aumentar el tamaño máximo de la cache es aumentar la asociatividad

(Gp:) Marco de página
(Gp:) PÁGINA

Etiqueta
Dirección física
(Gp:) A
(Gp:) B
(Gp:) C
(Gp:) Marco bloq. Palabra
(Gp:) NUMERO DE PÁGINA offset página
(Gp:) Dirección virtual

A= B + C
TLB

Monografias.com

55
Reducir el tiempo de acceso
Segmentar escrituras
Las operaciones de escrituras más lentas ( se escribe después de chequear el tag)
Se segmenta el acceso: 1º se chequea el tag, 2º se actualiza el dato
Un write chequea el tag, el anterior esta escribiendo el dato en la cache
( Latencia de escrituras)
Los accesos de escritura deben usar el Delayed Write Buffer

Monografias.com

56
Caches Resumen
Técnica TF PF TA Complejidad
Tamaño grande del bloque + – 0Alta asociatividad + – 1Cache de victimas + 2Caches pseudo-Asociativas + 2Prebusqueda Hw + 2Prebusqueda Sw compilador + 3Optimizaciones del compilador + 0

Prioridad de lecturas + 1Reemplazamiento de subbloques + + 1Early Restart & Critical Word 1st + 2Caches Non-Blocking + 3Caches L2 + 2

Caches pequeñas y sencillas – + 0Evitar/solapar traducción de Dir. + 2Segmentar escrituras + 1
Tasa de fallo
Tiempo
acceso
Penalización
de fallo

Monografias.com

57
Caches Resumen
El problema
1960-1985 rendimiento función de nº de operaciones
1990’s Ejecución segmentada, superescalar, fuera de orden, especulación,..
1999 rendimiento función de accesos fuera de la cache
¿ Que Implica?
Compiladores, SO, Algoritmos, estructuras de datos,…

Monografias.com

58
Memoria
Conceptos básicos
Rendimiento
Latencia: Penalización del fallo
Tiempo de acceso : tiempo entre la petición y la llegada del dato
Tiempo de ciclo : tiempo entre peticiones sucesivas
Ancho de Banda: Penalización de fallo de bloques grandes (L2)
Construida con DRAM: Dynamic Random Access Memory (2007 2Gb)
Necesita ser refrescada periódicamente (2 a 8 ms, 1% tiempo)
Direccionamiento en dos fases (El chip es una matriz de celdas 2D):
RAS : Row Access Strobe
CAS : Column Access Strobe
Tiempo ciclo doble tiempo de acceso( 2000; 40ns acceso 90ns ciclo)
Cache usan SRAM: Static Random Access Memory (2007 64Mb)
No necesitan refresco
Tamaño: 4-6 transistores/bit vs. 1 transistor
Capacidad: DRAM/SRAM ­ 4-8,
Costo: SRAM/DRAM ­ 8-16
Tiempo de acceso: SRAM/DRAM ­ 8-16

Monografias.com

59
Memoria principal
Aumentar el ancho de banda con memoria
Aumento del ancho de banda en la transferencia de un bloque manteniendo la misma latencia
– DRAM: 1 ciclo en enviar la dirección, 10 ciclos en el acceso y 1 ciclo en el envío del dato, tamaño de
palabra 32bits.
– Cache: Bloques de tamaño 4 palabras de 4 bytes
(Gp:) CPU
(Gp:)
Cache

(Gp:)

Memoria

(Gp:) BUS Y MEMORIA DE 1 PALABRA
ACCESO SECUENCIAL
(Gp:) 1+4x(10+1)=45 => 0,35 bytes/ciclo

(Gp:) BUS Y MEMORIA DE 4 PALABRAS
ACCESO SECUENCIAL (256,512)
(Gp:) 1+1x(10+1)=12 => 1,33 bytes/ciclo
(Gp:) CPU
(Gp:) Cache
(Gp:) Memoria
(Gp:) MULTIPLEXOR

Coste del bus
(Gp:) Time
(Gp:) Access Time
(Gp:) Cycle Time

Monografias.com

60
Memoria principal
Aumentar el ancho de banda con memoria
ANCHURA DE BUS DE 1 PALABRA
ANCHURA DE MEMORIA DE 4 PALABRAS
ACCESO SOLAPADO A LOS MÓDULOS
1+(10+4)x1=15 => 1 byte/ciclo
Muy buena relación coste/rendimiento
(Gp:) CPU
(Gp:) M0
(Gp:)
Cache

(Gp:) M1
(Gp:) M2
(Gp:) M3

ENTRELAZAMIENTO
Orden alto
Orden bajo
Aumento del ancho de banda en la transferencia de un bloque manteniendo la misma latencia
– DRAM: 1 ciclo en enviar la dirección, 10 ciclos en el acceso y 1 ciclo en el envío del dato, tamaño de
palabra 32bits.
– Cache: Bloques de tamaño 4 palabras de 4 bytes
Funciona bien con accesos secuenciales.( Reemplazamiento de un bloque)
No soluciona el problema de accesos independientes
(Gp:) Access Bank 0
(Gp:) Access Bank 1
(Gp:) Access Bank 2
(Gp:) Access Bank 3
(Gp:) We can Access Bank 0 again

Monografias.com

61
Memoria principal
Aumentar el ancho de banda con memoria
Distribución de direcciones con entrelazamiento de orden bajo
(Gp:) 0
4
8
12
(Gp:) 1
5
9
13
(Gp:) 2
6
10
14
(Gp:) 3
7
11
15
(Gp:) Banco 0
(Gp:) Banco 1
(Gp:) Banco 2
(Gp:) Banco 3

Accesos independientes a cada banco ( caches que no bloquean )
Cada banco necesita interfase con el sistema. Controlador, buses
separados de direcciones y datos
Mezclar los tipos de entrelazamiento (entrelazamiento mixto)
(Gp:) 0 1
2 3
(Gp:) 4 5
6 7
(Gp:) 8 9
10 11
(Gp:) 12 13
14 15
(Gp:) Superbanco 0
(Gp:) Banco

(Gp:) Numero de superbanco
(Gp:) Desplazamiento superbanco
(Gp:) Desplazamiento Numero de banco

(Gp:) 0 a 3 (2bits)
(Gp:) 0 a 1 (1bit) 0 a 1 (1bit)

Ejemplo:
4 accesos independientes
Cada acceso dos palabras
2 bits
2 bits
Despla
Banco
DIR

Monografias.com

62
Visión global Alpha 21064
CACHE de primer nivel L1
Tamaño: 8 KB datos y 8 KB de instrucciones (solo lectura)
Tamaño del bloque: 32 bytes (4 palabras de 64 bits)
Número de bloques: 256
1. Dirección física de 34 bits (división en campos)
– MS: cacheable o E/S (no cacheable)
2. Selección de marco de bloque por el índice
3. Comparación y lectura simultánea
4. Informar que el dato está listo en cache

En caso de fallo
4. Indica al procesador que espere
5. Lectura del bloque desde siguiente nivel
(Mp o L2)
Política de emplazamiento: Directo
Política de reemplazamiento: Trivial
Política de actualización: Escritura directa

Monografias.com

63
Visión global Alpha 21064
División de memorias cache
TLB asociativo
Solapamiento de comparación y la lectura
Solapamiento de escrituras consecutivas
Prebúsqueda hw de instrucciones (1 bloque)
Buffer de escritura de 4 bloques
2 MB L2 de cache de emplazamiento directo con cache víctima de 1 bloque
256 bit a memoria

Monografias.com

64
Visión global Alpha 21064
Buffer de prebusqueda
de instrucciones
ICACHE
ITLB
Data< 256>
=?
Tag< 13> Index< 16>
Main
memory
Tag< 13>
offset5
Index8
address < 30>

Instruction < 64>

Data in < 64>

Data Out < 64>

marco< 21>
Tag< 30>
< 21>
< 64>
< 64>
< 29>
< 29>
< 64>
offset< 13>

Offset5
Index8

address < 30>

marco< 21>
Tag< 30>
< 21>
offset< 13>

PC
CPU
=?
Tag < 29> Data < 256>
=?
Tag < 29> Data < 256>
V
=?
Tag< 21>
V
Data< 64>
=?
Tag< 21>
Magnetic
disk
Data< 64>
Buffer de escritura
intermedia
Buffer de escritura
retrasada
Buffer víctima
DCACHE
DTLB
L2CACHE

Monografias.com

65
Visión global Alpha 21064
Data< 256>
=?
Tag< 13> Index< 16>
Main
memory
Tag< 13>
offset5
NM8
pgvirtual < 30>

Instruction < 64>

Data in < 64>

Data Out < 64>

pgfisica< 21>
Tag< 30>
< 21>
< 64>
< 64>
< 29>
< 29>
< 64>
offset< 13>

Offset5
Index8

address < 30>

marco< 21>
Tag< 30>
< 21>
offset< 13>

PC
CPU
=?
Tag < 29> Data < 256>
=?
Tag < 29> Data < 256>
V
=?
TagC< 21>
V
Data< 64>
=?
Tag< 21>
Magnetic
disk
Data< 64>
Pgfisica< 21>
Tag dir < 21>

2 ciclos
Acierto de lectura
primer nivel

Monografias.com

66
Visión global Alpha 21064
(Gp:) Data< 256>
(Gp:) =?
(Gp:) Tag< 13> Index< 16>
(Gp:) Main
(Gp:) memory
(Gp:) Tag< 13>
(Gp:) offset5
(Gp:) NM8
(Gp:) pgvirtual < 30>
(Gp:)
(Gp:) Instruction < 64>
(Gp:)
(Gp:) Data in < 64>
(Gp:)
(Gp:) Data Out < 64>
(Gp:)
(Gp:) pgfisica< 21>
(Gp:) Tag< 30>
(Gp:) < 21>
(Gp:) < 64>
(Gp:) < 64>
(Gp:) < 29>
(Gp:) < 29>
(Gp:) < 64>
(Gp:) offset< 13>
(Gp:)
(Gp:) Offset5
(Gp:) Index8
(Gp:)
(Gp:) address < 30>
(Gp:)
(Gp:) marco< 21>
(Gp:) Tag< 30>
(Gp:) < 21>
(Gp:) offset< 13>
(Gp:)
(Gp:) PC
(Gp:) CPU
(Gp:) =?
(Gp:) Tag < 29> Data < 256>
(Gp:) =?
(Gp:) Tag < 29> Data < 256>
(Gp:) V
(Gp:) =?
(Gp:) TagC< 21>
(Gp:) V
(Gp:) Data< 64>
(Gp:) =?
(Gp:) Tag< 21>
(Gp:) Magnetic
(Gp:) disk
(Gp:) Data< 64>
(Gp:) 8 bytes
2 ciclos
(Gp:) 16+16 bytes
5+5 ciclos

Lectura
Acierto prebúsqueda
Acierto segundo nivel

Monografias.com

67
Visión global Alpha 21064
Data< 256>
=?
Tag< 13> Index< 16>
Main
memory
Tag< 13>
offset5
NM8
pgvirtual < 30>

Instruction < 64>

Data in < 64>

Data Out < 64>

pgfisica< 21>
Tag< 30>
< 21>
< 64>
< 64>
< 29>
< 29>
< 64>
offset< 13>

Offset5
Index8

address < 30>

marco< 21>
Tag< 30>
< 21>
offset< 13>

PC
CPU
=?
Tag < 29> Data < 256>
=?
Tag < 29> Data < 256>
V
=?
TagC< 21>
V
Data< 64>
=?
Tag< 21>
Magnetic
disk
Data< 64>
32 bytes
36 ciclos
Lectura
Fallo segundo nivel

Monografias.com

68
Visión global Alpha 21064
(Gp:) Data< 256>
(Gp:) =?
(Gp:) Tag< 13> Index< 16>
(Gp:) Main
(Gp:) memory
(Gp:) Tag< 13>
(Gp:) offset5
(Gp:) Index8
(Gp:) address < 30>
(Gp:)
(Gp:) Instruction < 64>
(Gp:)
(Gp:) Data in < 64>
(Gp:)
(Gp:) Data Out < 64>
(Gp:)
(Gp:) marco< 21>
(Gp:) Tag< 30>
(Gp:) < 21>
(Gp:) < 64>
(Gp:) < 64>
(Gp:) < 29>
(Gp:) < 29>
(Gp:) < 64>
(Gp:) offset< 13>
(Gp:)
(Gp:) Offset5
(Gp:) Index8
(Gp:)
(Gp:) address < 30>
(Gp:)
(Gp:) marco< 21>
(Gp:) Tag< 30>
(Gp:) < 21>
(Gp:) offset< 13>
(Gp:)
(Gp:) PC
(Gp:) CPU
(Gp:) =?
(Gp:) Tag < 29> Data < 256>
(Gp:) =?
(Gp:) Tag < 29> Data < 256>
(Gp:) V
(Gp:) =?
(Gp:) Tag< 21>
(Gp:) V
(Gp:) Data< 64>
(Gp:) =?
(Gp:) Tag< 21>
(Gp:) Magnetic
(Gp:) disk
(Gp:) Data< 64>
(Gp:) 32 bytes
5+10 ciclos

Siempre se escribe en 2º nivel
Acierto nivel 2:Se sobreescribe
Fallo nivel 2
Preferencia a la lectura

Monografias.com

69
Visión global Alpha 21064
Rendimiento SPEC92
Specint: I$ miss = 2%,D$ miss = 13%, L2 miss = 0.6%
Specfp: I$ miss = 1%, D$ miss = 21%, L2 miss = 0.3%
WL comercial:I$ miss = 6%, D$ miss = 32%, L2 miss = 10%
Tasa de fallos

Monografias.com

70
Visión global Alpha 21064
Rendimiento CPI ideal 0.5
Parada en el lanzamiento de instrucciones saltos,dependencias
Esperas de las diferentes caches
Otros conflictos estructurales, registros,…

Monografias.com

71
Visión global Alpha 21264 (ES40)
CACHE de DATOS L1
Tamaño: 64KB datos , ASOCIATIVA 2 vias
Tamaño del bloque: 64 bytes (8 palabras de 64 bits), 1024 bloques
1. Dirección virtual de 48 bits pasa a dirección física de 44 bits
2. Selección de marco de bloque por el índice
3. Comparación y lectura simultánea
4. Selección e informar que el dato está listo

Monografias.com

72
Visión global Alpha 21264 (ES40)
Caches L1
Cache de instrucciones acceso virtual
Escritura directa
Buffer de escritura intermedia para acelerar la escritura directa
Buffer de escritura retrasada para segmentar las escrituras
Buffer de prebúsqueda de un bloque de instrucciones

Cache L2
Post-escritura
Buffer víctima para dar preferencia a la lectura
Directa
8Mb, 64 bytes bloque
Critico primero (16)
130 ciclos
15 ciclos

Monografias.com

73
Rendimiento SPEC95
Visión global Alpha 21264 (ES40)
Fallos por1000 instrucciones y CPI para diferentes cargas de trabajo

Monografias.com

74
IBM Power 5-6
Ejemplos

Monografias.com

75
Sun Niagara I-II
Ejemplos

Monografias.com

76
Intel CORE2 AMD Opteron
Ejemplos

Monografias.com

77
DRAM logical organization (4 Mbit)
Column Decoder
Sense
Amps & I/O
Memory
Array
(2,048 x 2,048)
A0…A1
0

1
1
D
Q
W
ord Line
Storage
Cell

Monografias.com

78
DRAM Rendimiento
Fast Page mode
Añade señales de timing para permitir repetir los accesos al row buffer sin un nuevo acceso al array de almacenamiento.
Este buffer existe en el array de almacenamiento y puede tener un tamaño de 1024 a 2048 bits.

Synchronous DRAM (SDRAM)
Añade una señal de reloj al interfase de la DRAM, de manera que transferencias sucesivas no necesitan sincronizar con el controlador de la DRAM.

Double Data Rate (DDR SDRAM)
Transfiere datos en ambos flancos de la señal de reloj de la DRAM ? dobla el ancho de banda ( peak data rate)
DDR2 reduce consumo, reduciendo el voltaje desde2.5 a 1.8 volts + trabaja a mayor frecuencia hasta 400 MHz
DDR3 baja el voltaje a 1.5 volts + mayor frecuencia hasta 800 MHz

Mejora en AB, no en latencia

Monografias.com

79
DRAM: el nombre se basa en AB de chip (Peak Chip Transfers / Sec)DIMM: el nombre se basa en AB del DIMM (Peak DIMM MBytes / Sec)
(Gp:) x 2
(Gp:) x 8

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter